0
Главная Информация Документы Музей Студенту Преподавателю


Valid HTML 4.01 Transitional
Valid CSS!
Yellow Pages
HotLog

Russian

User experience


High quality rendering
Animation
Direct manipulation
Family of curves and surfaces
Labeling
Usability testing

     For a graphing system to be a useful tool, it is crucial that the user can focus on the mathematics rather that the tool. Furthermore, graphing is considered such a simple task that most users will be satisfied with answers without undertaking any efforts to check. For this reason, it is important that the default options be to compute the most correct graph rather that the fastest. Then, by providing efficient and easy-to-use interactive tools, users are more likely to explore their problem in a way that encourages better understanding.

High quality rendering

     Image quality greatly affects usability. A properly computed but poorly rendered 3D image may be quite difficult to interpret. The computer graphics community has a rich literature which could greatly benefit CA system developers. By working harder to produce visually pleasing images of complex structures, CA systems could give users very powerful tools for understanding. in the meantime, 3d rendering in today's CA systems is quite backwards compared with the state of the art in computer graphics (see [Kau94]).

Animation

     Even when nicely rendered, three dimensional images can be quite difficult to interpret. However one should remember that the eye can infer 3d structure much more easily from a moving object than from a static image. Also, desktop systems are becoming powerful enough to render complex 3D images many times a second. Yet most CA systems require a complex command line driven additional step to construct and view a movie of a rotating object. Conversely, most scientific visualization packages such as AVS [UFK+89] can initiate animations (and alter speed and angular parameters) from simple mouse motions. The Graphing Calculator goes even further by rotating 3D objects by default.

Direct manipulation

     Being able to pan and zoom with the mouse in order to change the domain is a natural way to interact with a 2D or 3D plot. Choosing a 3D viewpoint interactively with the mouse is also much more natural than specifying the point of view numerically. Typical systems have many options for rendering and lighting models of 3D surface. Having these options visible in a dialog box or palette to quickly test out different modes is very convenient. Also, speed of rendering is crucial to usefulness. With many options to choose, it is too difficult to decide ahead of time what to set and so it is very important to be able to quickly change settings and see a new plot.

Family of curves and surfaces

     Exploring is generally considered as an efficient pedagogical approach. Students, for instance, can develop an understanding of functions by exploring family of curves. By family of curves and surface we mean a set of objects whose functional definition differs only in some numerical parameter(s) such as in sin(nx) when n varies between 0 and 10.

Figure 9: Interactive study of a family of inequalities


     However, exploring is enjoyable only when it is straightforward to initiate and control, and when each computation and display is completed after nearly no delay. For example, in the Graphing Calculator the letter n is treated as a special constant. If it occurs in an expression, a slider appears at the bottom of the window and n takes the value specified by the slider. As the user moves the slider with the mouse, the value of n changes and the graph is immediately re-plotted. By changing n automatically, an animation can be conceptualized as a single object representing the family of curves. This is useful not only to understand the dependence of formulas on parameters, but also to find closed form expressions of a given shape. One can guess some form with many parameters and easily find values for the parameters to give the function the desired shape. Figure 9 shows a few frames from the animation of an inequality expressed in polar coordinates.

Labeling

     Following the design goal of keeping features as simple as possible, Figure 10 presents examples of automatically labeling interesting features of the graph as it is plotted. Figure 10b shows x2=x+1 in an experimental version of the Graphing Calculator. Solutions to the equation at x={-1/2, 1} are labeled as well as the zero-crossing at x=-1. These solutions are computed numerically, then a rational approximation to the numerical solution is checked symbolically before being displayed. Figure 10c shows cos(x/3)=sin(x/7) with a solution at x=21п/20 labeled. Here, the simplifier in the Graphing Calculator was unable to symbolically check this solution, so it is shows with an approximately equal sign to denote that the solution was numerical and might be a coincidence of rounding. A more sophisticated simplifier would be able to check that this last example is exact.
     This experimental implementation is in fact quite simplistic. While sampling the function in order to plot the graph, the system notices bracketed zeros on the function 9or its symbolic derivative to find extrema, or the difference of two functions as in Figure 10c). It uses bisection to numerically find these zeros, then checks if the numeric solution is close to a rational with a small denominator, or a rational multiple of п. It uses a simplifier to try and check if this is an exact solution. Clearly, this simple implementation will overlook some zeros. See for instance [Roa94] for a general purpose symbolic-numeric nonlinear equation solving algorithm. Also, with a real CA system, one could apply much more mathematical machinery to find symbolic expressions for exact answers, in an automatic way.

Usability testing

    The Graphing Calculator was designed with the minimalist philosophy of having as few options as possible and using direct manipulation for nearly everything. The user types an equation of the form y=f(x), z=f(x,y), or f(x,y)<g(x,y) and nothing else. The graph is plotted immediately while the domain and viewpoint can be modified interactively with the mouse. The user has no control of the lighting choices, colors, or axis labels for example.
     But nevertheless we found in formal user testing simulating a classroom situation that typical high school users could easily get stuck trying to understand the behavior of the program, thereby losing sight of the mathematics. Formal user testing proved to be a crucial technique in designing the user interface from a user-centered point of view [Avi95].


Contents Back Next
Кафедра Информатики и Математического Обеспечения: спецкурс Визуализация данных